//声明一个函数
function add(a: number, b: number){
  return a + b;
}

let sub = function(a: number, b: number){
  return a - b;
}

//箭头函数
let times = (a: number, b: number) => {
  return a * b;
}

//声明函数类型的变量.  声明一个函数类型的变量, 函数要求有两个形参且类型都为数字, 并且函数的返回值也为数字
let divide: (a: number, b: number) => number = (a, b) => {
  return a / b;
}

//函数参数的可选, slice 对字符串进行截取
function slice(str: string, start: number, end ?: number){

}
slice('imissyou', 1, 5);
slice('imissyou', 1);


//构建完整的手机号  潜规则: 具有默认值的参数一般要靠后
function buildPhone(code: string, area: string="+86"){
  return area + code;
}

console.log(buildPhone('15687452586', '+86'));
console.log(buildPhone('15687452586'));


//剩余参数的类型注解一定要设置为数组
function sum(...args: number[]){

}

sum(1,2,3,4,5,6);